package edu.biwu.constant;

import java.util.HashMap;
import java.util.Map;

public enum EnrollmentStatus {
    ENROLLED("在读"),
    SUSPENDED("休学"),
    GRADUATED("毕业");

    /*描述学籍状态*/
    private String description;

    /*将来构造key=value的键值对存入map,key代表学籍中文状态,value代表对应的常量*/
    private static Map<String,EnrollmentStatus> map=new HashMap<>();

    /*利用静态代码块，将map初始化，随着枚举类的加载二加载*/
    static {
        for (EnrollmentStatus es : EnrollmentStatus.values()) {
            map.put(es.toString(),es);
        }

    }

    /**
     *  对外提供方法，根据学籍的中文名称获取对应的枚举常量
     * @param desc  枚举常量的描述
     * @return  返回对应的枚举常量
     */
    public static EnrollmentStatus getEnrollByDesc(String desc){
        return map.get(desc);
    }



    private EnrollmentStatus(String description){
        this.description=description;
    }

    @Override
    public String toString(){
        return description;
    }

}
